iT邦幫忙

2022 iThome 鐵人賽

DAY 21
0
Software Development

持續進化論系列 第 21

DAY21 - 最後一哩路,百斤扁擔不換肩

  • 分享至 

  • xImage
  •  

今天只要把 update 與 delete 完成後 CRUD 的功能就都完成了,update 的原理跟 create 時一樣都要先有一個頁面可以填寫資料,這時就可以直接把昨天寫好的 form 繼續沿用。

先來處理 update 的頁面 edit

Route
$router->get('/{id}/edit', 'ProductController@edit');

Controller

protected $description = [
    'edit' => '修改',
];
public function edit($id, Content $content)
{
    return $content->title($this->title())
        ->description($this->description()['edit'])
        ->body($this->form($id)->edit($id));
}

這樣修改的畫面就完成了。
https://ithelp.ithome.com.tw/upload/images/20220921/20115048KAQIFL2xgZ.png
接下來是儲存到資料庫的階段
Route
$router->put('/{id}', 'ProductController@update');

Controller

public function update($id)
{
    return $this->form()->update($id);
}

完成之後點上 Submit 就可以變更資料了
https://ithelp.ithome.com.tw/upload/images/20220921/20115048XtWucRZcFb.png
剩下 delete 的部分很簡單直接來

Route
$router->delete('/{id}', 'ProductController@destroy');

Controller

public function destroy($id)
{
    return $this->form()->destroy($id);
}

https://ithelp.ithome.com.tw/upload/images/20220921/20115048R4N1MauPny.png
CRUD 的部分就在這邊結束了,但眼尖的觀眾也會注意到各個 Model 之間的還沒有設定關聯,可以看到列表每個 Row 的最右邊都會有 Action 的欄位,關聯的設定會用自定義的 Action 來呈現設定,也就是說明天就會完成全部的後台功能了!


上一篇
DAY20 - 這是一個先有雞還是先有蛋的問題
下一篇
DAY22 - 3 2 1 Action !
系列文
持續進化論30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言